Skip to content

Conversation

@AnshuJalan
Copy link
Collaborator

@AnshuJalan AnshuJalan commented Jan 22, 2026

Idea

We want the user to be able to perform an L1 -> L2 -> L1 transaction in the same L1 slot. For example:

  • User bridges ETH to L2 (L1 -> L2 txn or L2Call)
  • ETH gets swapped to USDC on L2
  • USDC gets bridged back to L1 (L2 -> L1 txn or L1Call)

Technicalities

  1. [L1] The User sends a UserOp to a surge_sendUserOp endpoint on Catalyst. This user op contains the bridge message for the L2Call.
  2. [L2] Catalyst acts like a relayer and pulls the operation from the user op, and adds the L2Call transaction into the transaction list of the block it preconfirms.
  3. [L2] Catalyst inserts the signal slots generated from UserOp submission on L1 (Step 1) as a "fast signal" into the anchor txn of the L2 block it creates.
  4. [L2] Catalyst records any L1Calls generated from the L2Call execution of step 2.

Proposal submission

A "multicall bundle" of 3 transactions are submitted on L1 in the exact sequence:

  1. UserOp transaction
  2. Proposal in Inbox
  3. L1 Call

The POC is most understandable when we consider 1 block / batch and 1 user op / block.

AnshuJalan and others added 5 commits January 22, 2026 15:31
* refac: add short commit hash as tag for docker build

* fix: image not found in staging when using commit hash
@AnshuJalan AnshuJalan changed the title [POC] feat: add a poc for proposing with real time proofs [POC] feat: same slot composability and real time proving Jan 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants